#ifndef PI_TIMER_SERVICE_HPP
#define PI_TIMER_SERVICE_HPP

#include "sdk_config.h"
#include "service/timer_service.hpp"
#include "system/system.hpp"

class pi_timer_service final: public ITimerService, PrioritySystem<0> {
public:
    void on_tick(pi_time_t delta, pi_time_t time) override;

    inline f64  get_time()  const { return system_time; }
protected:
    ITask* create_scheduler_impl(proc proc) override;
private:
    f64  system_time{0};

};

#endif /* PI_TIMER_SERVICE_HPP */
